﻿using System;
using System.Collections.Generic;
using System.Text;
using Xamarin.Forms;

namespace RSDriverAndroid.UserControls
{
    public class SvgImageButton : ContentView
    {
        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(SvgImageButton), string.Empty);
        public static readonly BindableProperty ImageSourceProperty = BindableProperty.Create(nameof(ImageSource), typeof(string), typeof(SvgImageButton), string.Empty);
        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(SvgImageButton), Color.Black);
        public static readonly BindableProperty ImageColorProperty = BindableProperty.Create(nameof(ImageColor), typeof(Color), typeof(SvgImageButton), Color.Black);
        public static readonly BindableProperty SelectedTextColorProperty = BindableProperty.Create(nameof(SelectedTextColor), typeof(Color), typeof(SvgImageButton), Color.Azure);
        public static readonly BindableProperty SelectedImageColorProperty = BindableProperty.Create(nameof(SelectedImageColor), typeof(Color), typeof(SvgImageButton), Color.Azure);

        public string Text 
        {
            get => (string)GetValue(TextProperty);
            set => SetValue(TextProperty, value);
        }
        public string ImageSource 
        {
            get => (string)GetValue(ImageSourceProperty);
            set => SetValue(ImageSourceProperty, value);
        }
        public Color TextColor 
        {
            get => (Color)GetValue(TextColorProperty);
            set => SetValue(TextColorProperty, value);
        }
        public Color ImageColor 
        {
            get => (Color)GetValue(ImageColorProperty);
            set => SetValue(ImageColorProperty, value);
        }
        public Color SelectedTextColor 
        {
            get => (Color)GetValue(SelectedTextColorProperty);
            set => SetValue(SelectedTextColorProperty, value);
        }
        public Color SelectedImageColor 
        {
            get => (Color)GetValue(SelectedImageColorProperty);
            set => SetValue(SelectedImageColorProperty, value);
        }
    }
}
